package com.gopay.remote.bank.businesses;

import com.gopay.common.domain.bank.BaseMessage;
import com.gopay.common.exception.GopayException;

/**
 * 电子银行业务请求接口
 * 
 * @BankService.java
 * @author WangHongFei
 */
public interface BankService{
	
    /**
     * 签名
     * 
	 * @param BaseMessage
	 * @return Object
	 * @throws GopayException
     */
    public Object sign(BaseMessage msg) throws GopayException;

    /**
     * 验签
     * 
	 * @param BaseMessage
	 * @return Object
	 * @throws GopayException
     */
    public Object verify(BaseMessage msg) throws GopayException;

    /**
     * 查询订单(供对账使用)
     * 
	 * @param Object
	 * @return Object
	 * @throws GopayException
     */
    public Object query(Object obj) throws GopayException;
    
    /**
     * 日终对账
     * @author guomuye
     * @param obj
     * @return
     * @throws GopayException
     */
    public Object dayend(Object obj) throws GopayException;
    
    /**
     * 退款
     * @author 
     * @param obj
     * @return
     * @throws GopayException
     */
    public Object refund(Object obj) throws GopayException;
}
